The present invention generally relates to forwarding between nodes.
In general, a computer system has a network system including a plurality of nodes, and the plurality of nodes include a plurality of edge nodes and one or more intermediate nodes. The “intermediate node” is a node that bridges nodes, and is generally a switching apparatus such as a network switch. As used herein, bridging between nodes is called “forwarding” (or routing). The forwarding includes, for example, a process of retrieving a node (edge node or another intermediate node) serving as a forwarding destination and a process of transferring a packet (data or command) to the node found by the retrieval process. The “edge node” is a node except for the “intermediate node”.
A network system in which each of a server apparatus (to be referred to as a server hereinafter) and a storage apparatus (to be referred to as a storage hereinafter) is used as an edge node is known. In general, relative to improvement of operation performance of a server, a degree of improvement of input/output performance (for example, access delay time or band width) of a storage is not high. Thus, the input/output performance has become a performance bottle neck in an entire network system. In particular, when a storage and a server are coupled to each other through a network, a speed of the network is an upper limit for the input/output performance, resulting in a bottle neck.
It is considered that, in order to improve the input/output performance, a closed network (for example, SAN (Storage Area Network)) in which a server and a storage are tightly connected to each other is configured.
However, the closed network is not capable of making an additional node participate directly in the network. This is because the “closed network” is a network not capable of coupling an additional node to any intermediate node. Examples in which “not capable of coupling an additional node to any intermediate node” include a case in which all ports of each of all intermediate nodes are in use (no intermediate nodes have a free port) or a case in which intermediate nodes are configured to be inextensible (for example, intermediate nodes are chipped to determine wiring for the intermediate nodes in advance).
When an additional node participates in a closed network, the additional node participates indirectly in the network. More specifically, an additional node is coupled to an edge node participating in a closed network (for example, when the additional node is a storage, an additional storage is coupled to a storage participating in the closed network), the edge node to which the additional node is coupled must perform forwarding. A load of forwarding performed by the edge node is desired to be as low as possible. This is because, the forwarding is not a process to be essentially performed by the edge node, and when the load of the forwarding is heavy, the performance of the process to be essentially performed by the edge node (for example, when the edge node is a storage, the process to be essentially performed is an input/output process) is deteriorated.
A similar problem may also arise in a large-scale network. When a large number of nodes participate in a network, for forwarding, a large amount of information about coupling positions of the nodes must be managed, and a transfer destination must be specified based on the large amount of information. In order to reduce the load of these processes, Patent Document 1 and Non Patent Document 1 disclose a feature that the configuration of a network is reflected on addresses associated with nodes.    [Patent Document] JP 5214007    [Non Patent Document 1] “PortLand: A Scalable Fault-Tolerant Layer 2 Data Center Network Fabric”, Radhika Niranjan Mysore et al, SIGCOMM'09, 2009.